package com.rchat.pocmini.contact;

/**
 * Created by ljd on 2017/2/8.
 * <p>
 * AirtalkeeContactPresence 接口规范
 */

public interface PocContactPresenceInterface {

    /**
     * 获取本地缓存的用户状态
     *
     * @param userId 用户ID
     */
    int getContactStateById(String userId);

    /**
     * 提供第三方处理订阅自定义的用户群状态变化（调用SDK的订阅接口后，须在不需要通知用户状态变化会后，
     * 调用反订阅接口以结束订阅，否则系统将在用户状态发生变化时继续向SDK推状态变化事件），事件返回onContactPresence
     *
     * @param customData 第三方应用自定义的报文，建议可采用json
     */
    void contactPresenceSubscribe(String customData);

    /**
     * 结束当前进行的订阅
     */
    void contactPresenceUnsubscribe();

    /**
     * 注册PocContactPresenceListener
     *
     * @param listener 监听器
     */
    void setContactPresenceListener(PocContactPresenceListener listener);
}
